// pages/propagandaList/propagandaList.js'
const app = getApp();
const util = require('../../utils/util');
Page({

  /**
   * 页面的初始数据
   */
  data: {
    /*  */
    userInfo_share:{},
    /*  */
    infoData:null,
    /*  */
    class_index:"",
    class_name:"",
    class_id:"",  //分类id
    class_id_data:[], //某一类产品的数据
    /*  */
    item_id_datas:[] //某一类产品的相关数据详情
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    //获取用户信息
    this.setData({
      userInfo_share:app.globalData.get_userInfo()
    });
    //
    let eventChannel = this.getOpenerEventChannel();
    //从员工通道页面跳转来
    if(app.globalData.fromEmployeeToPropagandaList){
      console.log("app.globalData.fromEmployeeToPropagandaList");
      app.globalData.fromEmployeeToPropagandaList = false;
      eventChannel.on("fromEmployeeToPropagandaList", data=>{
        console.log(data);
        //
        wx.setNavigationBarTitle({
          title: `${data.name}`,
        });
        //
        this.setData({
          infoData: data,
          class_index:data.index,
          class_name: data.name,
          class_id: data.class_id
        });
        //
        wx.showLoading({
          title:"获取数据",
          mask:true
        });
        //
        this.getClassItem().then(()=>{
          return this.getTypeDetails()
        }).then(()=>{
          wx.hideLoading();
          //console.log(this.data.item_id_datas);
        }).catch(err=>{
          wx.hideLoading();
          wx.showModal({
            title:"提示",
            content:`${err}`,
            showCancel:false
          });
        });  
      });
    }
    //(添加，修改)成功
    if(app.globalData.fromPMToPLByAddSuccess||app.globalData.fromPMToPLByModifySuccess){
      app.globalData.fromPMToPLByAddSuccess = false;
      app.globalData.fromPMToPLByModifySuccess = false;
      //
      wx.showLoading({
        title:"获取数据",
        mask:true
      });
      //
      this.getClassItem().then(()=>{
        return this.getTypeDetails()
      }).then(()=>{
        wx.hideLoading();
        //console.log(this.data.item_id_datas);
      }).catch(err=>{
        wx.hideLoading();
        wx.showModal({
          title:"提示",
          content:`${err}`,
          showCancel:false
        });
      }); 
    }
  },
  /* 跳转至详情页--添加 */
  openPropagandaModifyAdd(){
    //
    /* if(this.data.item_id_datas.length>=6){
      wx.showToast({
        icon:"none",
        title:"暂时只能添加6个产品"
      });
      return;
    } */
    //
    let info = this.data.infoData;
    info.type = "add";
    wx.navigateTo({
      url: '/pages/propagandaModify/propagandaModify',
      success: res=>{
        res.eventChannel.emit("fromPropagandaListToPropagandaModify",this.data.infoData);
      }
    })
  },
  /* 跳转至详情页--编辑 */
  openPropagandaModify(e){
    let { info } = e.currentTarget.dataset;
    info.index = this.data.class_index;
    info.type = "modify";  //编辑产品
    wx.navigateTo({
      url: '/pages/propagandaModify/propagandaModify',
      success: res=>{
        res.eventChannel.emit("fromPropagandaListToPropagandaModify",info);
      }
    })
  },
  /* 整合分类数据 */
  getTypeDetails(){
    //
    let tmpData = [];
    return this.data.class_id_data.reduce((init,item)=>{
      return init.then(()=>{
        return new Promise((resolve,reject)=>{
          this.getClassItemInfo(item.item_id).then(data=>{
            tmpData.push(data)
            resolve();
          }).catch(err=>{
            resolve();
          })
        });
      });
    },Promise.resolve()).then(()=>{
      this.data.class_id_data.forEach((item,i)=>{
        tmpData[i].titleName = item.name;
        tmpData[i].name = item.name;
        //产品描述
        try {
          tmpData[i].describes = JSON.parse(tmpData[i].describe).join(",");
        } catch (error) {
          tmpData[i].describes = "";
        }
      });
      //
      this.setData({
        item_id_datas:tmpData
      });
    });
  },
  /* 获取某一类别的数据信息 */
  getClassItemInfo(item_id){
    return app.globalData.$http.call(this,{
      api:"/getClassItemInfo",
      data:{
        item_id:item_id
      }
    }).then(res=>{
      //console.log(res)
      if (res.data.code == '1') {
        return Promise.resolve(res.data.body);
      } else {
        return Promise.reject(`获取${this.data.class_name}信息失败`);
      }
    }).catch(err=>{
      return Promise.reject(`获取${this.data.class_name}信息失败`);
    });
  },
  /* 获取图片对应的分类数据 */
  getClassItem: function () {
    return app.globalData.$http.call(this,{
      api:"/getClassItem",
      data:{
        class_id:this.data.class_id
      }
    }).then(res=>{
      console.log(res)
      if (res.data.code == '1') {
        this.setData({
          class_id_data:res.data.body
        });
        return Promise.resolve();
      } else {
        return Promise.reject('获取对应的图片分类信息失败');
      }
    }).catch(err=>{
      return Promise.reject('获取对应的图片分类信息失败');
    });
  },
  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    //
    /* wx.navigateTo({
      url: '/pages/employee/employee',
    }) */
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})